[ 添付ファイルを添付する ] [ 名前変更このページの名前を変更する ] [ 編集このページを編集する ]

[[トップ>FrontPage]] > [[MAP作成]] > [[トリガーエディタ]] > [[Jass Script]] > [[Jass講座]] > loop 

~
~
繰り返し処理。''loop'' 〜 ''endloop'' の間の処理を、''exitwhen'' で抜けるか、 ''return'' でfunctionそのものから抜けるまで繰り返す。

無限ループを作るとWarCraft3が強制終了するので、注意。
----
#contents
----
*使い方 [#ud8c9920]
以下のように利用する。

-画面に、0〜10まで数字を表示する
     function GetLargerInt takes nothing returns nothing
         local integer i=0
         
         loop
             exitwhen i>10
 
                 call DisplayTextToPlayer(GetLocalPlayer(),0,0,I2S(i))
 
             set i=i+1
         endloop
 
     endfunction

''exitwhen'' &color(teal){条件}; で、条件が真であればその場でループから抜ける。

*注意点 [#bb992b75]
無限ループは、WarCraft3が強制終了するので、絶対に作ってはいけない。

-例
     loop
         call DisplayTextToPlayer(GetLocalPlayer(),0,0,"noob!")
     endloop

''TriggerSleepAction'' や ''PolledWait''((Blizzard.jで定義されている、TriggerSleepActionのラッパー)) を挟めば、強制終了はおきない。ただし、これらの関数の待機時間は正確ではないので、非常におすすめできない。

一定時間おきに何かしたいなら、''TimerStart'' 関数を使おう。